package com.xinling.modules.blog.service;

import com.xinling.modules.blog.model.dto.PostDTO;
import com.xinling.modules.blog.model.vo.PostVO;
import java.util.List;

public interface BlogPostService {
    
    List<PostVO> getAllPosts();
    
    PostVO getPostById(Integer id);
    
    PostVO createPost(PostDTO postDTO, Integer authorId);
    
    PostVO updatePost(Integer id, PostDTO postDTO);
    
    void deletePost(Integer id);
    
    void incrementViewCount(Integer id);
    
    void incrementLikeCount(Integer id);
    
    List<PostVO> searchPosts(String keyword);
    
    List<PostVO> getPostsByCategory(Integer categoryId);
    
    List<PostVO> getPostsByTag(Integer tagId);
    
    List<PostVO> getPostsByAuthor(Integer authorId);
} 